<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      const feng = {}
      const cai = {
        uname: '只因',
        age: 2.5,
        hobbit: ['sing', 'dance', 'rap', 'basketball'],
        fans: {
          uname: 'ikun',
          age: 9999,
          hobbit: ['smoke', 'drink', 'makeHairStyle'],
        },
      }
      function deep(news, old) {
        for (let key in old) {
          if (old[key] instanceof Array) {
            news[key] = []
            deep(news[key], old[key])
          } else if (old[key] instanceof Object) {
            news[key] = {}
            deep(news[key], old[key])
          } else {
            news[key] = old[key]
          }
        }
      }
      deep(feng, cai)
      console.log(feng)
      feng.fans.hobbit[2] = '晚霞'
    </script>
  </body>
</html>
